package com.senlingspace.system.domain.query.weixin.sendGoods;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.List;

/**
 *  发货信息录入
 *
 * @author wangliang
 */
@Data
public class SendGoodsDto {

    /** 必填  订单，需要上传物流信息的订单 **/
    @JsonProperty("order_key")
    private OrderKey orderKey;

    /** 必填 物流模式，发货方式枚举值：1、实体物流配送采用快递公司进行实体物流配送形式 2、同城配送 3、虚拟商品，虚拟商品，例如话费充值，点卡等，无实体配送形式 4、用户自提 **/
    @JsonProperty("logistics_type")
    private int logisticsType;

    /** 必填 发货模式，发货模式枚举值：1、UNIFIED_DELIVERY（统一发货）2、SPLIT_DELIVERY（分拆发货） 示例值: UNIFIED_DELIVERY **/
    @JsonProperty("delivery_mode")
    private String deliveryMode;

    /** 非必填 分拆发货模式时必填，用于标识分拆发货模式下是否已全部发货完成，只有全部发货完成的情况下才会向用户推送发货完成通知。示例值: true/false **/
    @JsonProperty("is_all_delivered")
    private boolean allDelivered;

    /** 必填 联系方式，当发货的物流公司为顺丰时，联系方式为必填，收件人或寄件人联系方式二选一 **/
    @JsonProperty("shipping_list")
    private List<ShippingList> shippingList;

    /** 必填 上传时间，用于标识请求的先后顺序 示例值: `2022-12-15T13:29:35.120+08:00 **/
    @JsonProperty("upload_time")
    private String uploadTime;

    /** 必填 支付者，支付者信息 **/
    @JsonProperty("payer")
    private Payer payer;




}
